home *** CD-ROM | disk | FTP | other *** search
-
-
- #include "installJournalDriver.h"
- #include "driver.h"
-
- pascal main()
- {
- OSErr error;
- short refNum;
- Handle theFlag ;
- int *flag_ptr ;
- Byte installFlags ;
- Str255 *journalName ;
- Handle procH ;
-
-
- if ((theFlag = GetResource('JrnF', 1000)) != NULL) {
- HLock(theFlag) ;
- flag_ptr = (int*)(*theFlag) ;
- (*flag_ptr) = -2 ;
- HUnlock(theFlag) ;
- ChangedResource(theFlag) ;
- WriteResource(theFlag) ;
- }
-
-
- installFlags = (open | thinkDATA) ;
-
- journalName = (Str255*)JRNL_NAME ;
-
- error = InstallRAMDriver((*journalName), &refNum, installFlags);
-
-
- if (error == noErr) {
- /* did install */
- if ((procH = GetResource('PROC', 128)) != NULL) {
- HLock(procH) ;
- CallPascal(128, -1, *procH) ;
- HUnlock(procH) ;
- }
- }
- else {
- /* did not install */
- if ((procH = GetResource('PROC', 128)) != NULL) {
- HLock(procH) ;
- CallPascal(129, -1, *procH) ;
- HUnlock(procH) ;
- }
- }
-
- if ((theFlag = GetResource('JrnF', 1000)) != NULL) {
- HLock(theFlag) ;
- flag_ptr = (int*) (*theFlag) ;
- if (error != noErr)
- (*flag_ptr) = -1 ;
- else
- (*flag_ptr) = (int) refNum ;
-
- HUnlock(theFlag) ;
- ChangedResource(theFlag) ;
- WriteResource(theFlag) ;
- }
-
-
- }